草庐IT

MongoDB $project : $filter sub-array

全部标签

javascript - MONGODB 类操作符

我正在使用JavaScript查询基于Mongo数据库的API。我需要根据LIKE运算符过滤结果,类似于select*fromplaylistwheretitlelike'%a%'此刻我调用这个URLvarassetUrl='https://example.com/playlist?oauth_token='+accessToken+'&account=XXX'+'&fields={"title":true,"splash":true,"description":true,"source":true}'+'&criteria={"title":/.*a.*/}';没有成功(返回0个对象

javascript - TypeScript/JavaScript 中的 array.indexOf

这个问题在这里已经有了答案:indexOfmethodinanobjectarray?(29个答案)关闭6年前。更新:虽然这个问题被标记为与this重复.但是@ssube的方法很简洁,也更聪明。更新2:@Grungondola的评论中似乎有新的方法可以做到这一点。我正在使用Typescript。这很有效。vararray1=[];array1.push(5);array1.push(6);console.log("a",array2.indexOf(6));但这并不能很好地工作。因为array2.indexOf返回-1,这意味着它没有找到它。vararray2=[];array2.pu

javascript - Mongodb Map/Reduce - Reduce 不会被调用

我正在尝试在Mongoshell中执行一个简单的mapreduce,但reduce函数从未被调用。这是我的代码:db.sellers.mapReduce(function(){emit(this._id,'Map')},function(k,vs){return'Reduce'},{out:{inline:1}})结果是{"results":[{"_id":ObjectId("4da0bdb56bd728c276911e1a"),"value":"Map"},{"_id":ObjectId("4da0df9a6bd728c276911e1b"),"value":"Map"}],"tim

JavaScript 1.6 Array.map() 和 Array.filter() 不使用内置函数作为参数

这很好用:["655971","2343","343"].map(function(x){returnparseInt(x)})//[655971,2343,343]但这不是:["655971","2343","343"].map(parseInt)//[655971,NaN,NaN]Array.filter()也是如此我在这里错过了什么? 最佳答案 这是因为map向回调函数传递的参数不仅仅是数组项。你得到:callback(item,index,array)通常你的函数会忽略它不需要的参数。但是parseInt接受一个可选的第二个

javascript - 如何在 JavaScript 中使用 array reduce with condition?

所以我有一个数组constrecords=[{value:24,gender:"BOYS"},{value:42,gender:"BOYS"},{value:85,gender:"GIRLS"},{value:12,gender:"GIRLS"},{value:10,gender:"BOYS"}]我想得到sum所以我使用了JavaScriptarrayreduce函数并得到了它。这是我的代码:someFunction(){returnrecords.reduce(function(sum,record){returnsum+record.value;},0);}通过该代码,我得到了正确

javascript - 使用 mongoose 在 mongodb 模式中使用 ensureIndex

我想在authorName上调用ensureIndex,命令是什么,我应该把它放在这段代码的什么地方?varmongoose=require('mongoose');//definesthedatabaseschemaforthisobjectvarschema=mongoose.Schema({projectName:String,authorName:String,comment:[{id:String,authorName:String,authorEmailAddress:{type:String,index:true}}]});//Setstheschemaformodelv

javascript - MongoDB shell : printing to console without a trailing newline?

有没有一种方法可以在没有来自Mongoshell的尾随换行符的情况下写入STDOUT?除了可用的print()之外,我似乎找不到任何其他东西。 最佳答案 这与我在readingalinefromtheconsole上的SO问题有关.根据@Stennie的评论,在当前(2.0.6)版本的Mongoshell中这是不可能的。 关于javascript-MongoDBshell:printingtoconsolewithoutatrailingnewline?,我们在StackOverflow

javascript - 在 Jasmine 中,array.includes 不起作用(必须用其他函数代替)。为什么?

我的问题看起来很奇怪。我有一个带有一个新的、非常简单的函数的构造函数,它应该检查一个变量是否包含在一个数组中。它工作得很好(我在一个表单中使用这个函数)。但是...我无法对此函数编写任何单元测试,因为Karma/Jasmine看不到数组的“包含”函数。有人可以建议我该怎么做吗?这里的情况稍微简化了一点://要测试的构造函数vm.isNameAlreadyUsed=function(){//debutlogging:console.log("vm.allNames",vm.allNames);//output:vm.allNames['A','B','C']console.log("an

javascript - TypeScript Array.prototype.map 声明

规范根据MDNspecificationforArray.prototype.map()map应该这样使用...varnew_array=arr.map(callback[,thisArg])问题TypeScript有几个映射的重载声明,这使得extendArray变得非常困难。.我希望看到这个(在lib.d.ts中)...map(callbackfn:(value:T,index:number,array:T[])=>U,thisArg?:any):U[];但是lib.d.ts也有这些……map(this:[T,T,T,T,T],callbackfn:(value:T,index:n

javascript - Array.sort 的这个中间阶段发生了什么?

在深入研究数组方法时,我决定看一下Array.sort方法中涉及的步骤。看一下这段代码,用于反转数组的顺序:letarr=[];for(leti=1;i{console.log(arr);console.log(`Comparing${value1}:${value2}`);returnvalue2-value1;});console.log(arr);我得到这个输出:[1,2,3,4,5]Comparing1:2[2,1,3,4,5]Comparing1:3[2,1,1,4,5]Comparing2:3[3,2,1,4,5]Comparing1:4[3,2,1,1,5]Compari